///语法基础

///变量与常量

//1、变量声明与初始化
// 没有明确类型，编译的时候根据值明确类型
var name = 'Bob';
Object name1 = '张三';
dynamic name2 = '李四';
// 显示声明将被推断类型, 可以使用String显示声明字符串类型
String name3 = 'Bob';

//2、默认值 未初始化的变量的初始值为null（包括数字），因此数字、字符串都可以调用各种方法
//测试 数字类型的初始值是什么?
int ? lineCount;
// 为false的时候抛出异常
void main() {
  assert(lineCount == null);
  print(lineCount); //打印结果为null，证明数字类型初始化值是null
}

//3、final and const
//如果您从未打算更改一个变量，那么使用 final 或 const，不是var，也不是一个类型。
//可以省略String这个类型声明
final nam4e = "Bob";
final String name5 = "张三";

//常量的运算
const speed = 100; //速度（km/h）
const double distance = 2.5 * speed; // 距离 = 时间 * 速度
// 注意: [] 创建的是一个空的list集合
// const []创建一个空的、不可变的列表（EIL）。 不能更改final变量或const变量的值
var varList = const ["5525"]; // varList 当前是一个EIL
final finalList = const []; // finalList一直是EIL
const aConstList = const ['1', '2', '3'];


